The use of on-demand media has been increasing dramatically. Media on demand is served to a client device from a server device. The original digital media may consume large amounts of storage and transmission capacity. Consequently, the digital media is compressed and may be down converted to a lower resolution file. Accordingly, digital media is encoded and compressed to minimize the use of resources when the media is transmitted to client devices. Further, in selecting the optimal encoding and compression algorithms, the attributes of the client device may be taken into consideration.
Due to licensing requirements digital media must also be encrypted to avoid third parties from accessing the content. The user requesting the digital media may have only limited rights to the media. Therefore, digital media must also be encrypted before transmission.
Conventionally, encryption and compression processes are performed independently, each requiring significant computational resources. This problem is accentuated during adaptive streaming when a user may request additional media processing. Similarly at the receiving side, the decryption and decompression performed adaptively can consume significant resources. These problems can result in temporary pausing or disruption of the media stream impeding the user's experience of the media.